package com.ts.api.module.protocol.service;

import com.ts.api.module.api.convert.platform.entity.RespPlatformPhoneMaskDataExchange;
import com.ts.api.module.api.convert.platform.entity.RespPlatformPhoneMd5DataExchange;
import com.ts.api.module.channel.entity.po.ChannelUserRegisterPO;
import com.ts.api.module.protocol.entity.po.UserProtocolPO;
import com.ts.api.module.protocol.entity.qo.UserProtocolQO;

import java.util.List;

/**
 *  用户协议相关业务层
 */
public interface UserProtocolService {

    /**
     *  获取用户协议根据类型
     *
     *  @param  userProtocolQO 用户协议查询对象
     *  @return List
     */
    List<UserProtocolPO> list(UserProtocolQO userProtocolQO);

    /**
     *  插入用户协议
     *
     *  @param  userProtocolPO  用户协议实体
     *
     *  @return int
     */
    int insert(UserProtocolPO userProtocolPO);

    /**
     *  填充模板协议内容
     *
     *  @param  channelUserRegisterPO   用户基础信息
     *  @param  protocolTemplate        协议模板字符串
     *  @return String
     */
    String appendTemplate(ChannelUserRegisterPO channelUserRegisterPO, String protocolTemplate, RespPlatformPhoneMd5DataExchange md5DataExchange);

    /**
     *  填充模板协议内容
     *
     *  @param  channelUserRegisterPO   用户基础信息
     *  @param  protocolTemplate        协议模板字符串
     *  @return String
     */
    String appendTemplatePhoneMask(ChannelUserRegisterPO channelUserRegisterPO, String protocolTemplate, RespPlatformPhoneMaskDataExchange phoneMaskDataExchange);
}
